SSMを使って複数サーバーでDeepSecurityAgentを一度にアップグレードしてみる
おはようございます、もきゅりんです。 皆さん、AWS Systems Manager(以下SSM)は使ってますか?
自分はこのサービスが色々と出来てしまう機能を持つがゆえに、何だかとっつきにくい印象を抱いております。 (おそらくまだ機能の分別・整理がうまく自分の中でできていません) そんなビミョーな距離感を払拭するために、タイトルの件をやってみました。
要は、環境や与件が異なる複数サーバー群に対して、一度に設定をしてしまおうというケースです。
これはSSMの持つ機能の一部分ではありますが、とにかく具体例で実際に手を動かしてみることで、親近感は増しました。 この例では、DeepSecurityAgent(以下DSA)で実施していますが、同様の例は思い浮かんでくるかと思います。(Zabbixエージェントのアップデートでやろうかとも迷いました)
はじめに
今回利用する機能は、インベントリ、ステートマネジャー、ランコマンドの3つになります。
与件と要件
インスタンス | 台数 | 現DSAバージョン | アップデートバージョン |
---|---|---|---|
Amazon Linux | 2 | DSA9.6 | DSA11.0 |
Amazon Linux 2 | 2 | DSA10.0 | DSA11.0 |
(※ DSAはDSMからアップデートさせることが出来るのですが、今回はSSMの実用例が趣旨ということで。)
なお、当稿ですが、「Sapporo.aws 第3回」にてWindows EC2 インスタンス向けSystems Mangerの便利な使い方について紹介しました。#sapporoawsを参考としました。ありがとうございます。
やること
- ロールの作成と設定
- タグの設定
- (エージェントのインストール)
- コマンド叩く
- 確認
インスタンスタイプによっては、3は無視することが出来ます。 ( Systems Manager の前提条件もご確認下さい。)
2は、今後サーバーを構築する際にSSMを考慮してタグ設定しておけばよいと思うので、つまり、4,5の2アクションだけで複数サーバーに対して一気に設定できると考えていいでしょう。
では、まず1,2,3まで整っている状況でのこうだったら嬉しいなフローでやってみて、 その後、何にもやってないよ、からのフローでやってみることにします。
こうだったら嬉しいなフロー
ー ここは省略してもよいのですが ー
いちおうインスタンスのDSAを確認をしておきます。
SSMのコンソールからマネージドインスタンスに見にいきます。
各インスタンスをクリックしてインベントリ検索して確認します。
ちゃんといることが確認できました。
そしたら、ランコマンドで対象サーバーにアップグレードかけちゃいましょう。
ランコマンドに移動します。
Linuxの場合は、AWS-RunShellScriptを指定して今回必要なコマンドを入力します。
(今回は検証なので、ログ出力はS3バケットではなくCloudWatch出力にしてしまっています。)
参考: Deep Security Agentのアップデート
Amazon Linux DSA9.6 > DSA11.0
Amazon Linux2 DSA10 > DSA11.0
確認します。
Amazon Linux DSA9.6 > DSA11.0 の結果
Amazon Linux2 DSA10 > DSA11.0 の結果
ついでに、インベントリでも見ておきましょうか。
OKですね、これで終わりです。
たかだか4台だからさほどでもないですが、これが数十台レベルとなると、かなり楽になりそうですね。 では何にもやってないよ、のフローにいきましょう。
何にもやってないよ、からのフロー
まずは、下記記事を参照の上、1,2を対応しちゃいましょう。
「Sapporo.aws 第3回」にてWindows EC2 インスタンス向けSystems Mangerの便利な使い方について紹介しました。#sapporoaws
そして、もしもSSMエージェントのインストールが必要なインスタンスであったならば、Amazon EC2 Linux インスタンスに SSM エージェント を手動でインストールする を参考に適切なコマンドを流しましょう。
# CentOSの例 sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
# CentOS7.xでの確認例 sudo systemctl status amazon-ssm-agent
これらが終わったら、こうだったら嬉しいなフローにいきましょう!
オマケ
アプリケーションをインストールしてすぐにインベントリで確認したいときは、ステートマネジャーからインベントリの関連付けを今すぐ適用しちゃいます。
最後に
SSM、ちょっと触れ合えました。
また近日中に他の機能を利用して記事にしてみようと考えています。
どこかの誰かのお役に立ったら何よりです。
参考
「Sapporo.aws 第3回」にてWindows EC2 インスタンス向けSystems Mangerの便利な使い方について紹介しました。#sapporoaws